<?php

declare(strict_types=1);

namespace App\Constants;

use Hyperf\Constants\AbstractConstants;
use Hyperf\Constants\Annotation\Constants;

/**
 * 业务常量定义
 * Class Business
 * @package App\Constants
 * @Constants
 */
class Business extends AbstractConstants
{
    //token字段定义
    const TOKEN = 'Authorization';
    //错误字段定义
    const ERROR_COLUMN = 'error_code';
    //包名字段定义
    const PACKAGE_NAME = 'package-name';
    //客户端版本号定义
    const CLIENT_VERSION = 'version';
    //用户信息常量定义
    const USER_INFO = 'user_info';
    //用户ID
    const USER_ID = 'uid';
    //短链接头部
    const HEADERS = 'headers';
    //英语
    const LANG_ENGLISH = 'en';
    //葡萄牙语
    const LANG_PORTUGAL = 'pt';
    //所有语言集合
    const LANGUAGES = [
        'English',
        'French',
        'German',
        'Italian',
        'Portuguese',
        'Russian',
        'Spanish',
        'Turkish',
    ];
    //用户掉线的fd
    const USER_OFF_LINE_FD = 'off-line-fd';
    //客户端系统字段
    const CLIENT_SYSTEM = 'os';
    //客户端手机型号
    const CLIENT_MODEL = 'model';
    //客户端分辨率
    const CLIENT_RESOLUTION = 'resolution';
    //客户端语言
    const CLIENT_LANGUAGE = 'language';
    //客户端国家
    const CLIENT_COUNTRY = 'country';
    //客户端时区
    const CLIENT_TIMEZONE = 'timezone';
    //客户端渠道
    const CLIENT_CHANNEL = 'channel';
    //最近接口请求的玩家 保留最大数量
    const MAX_RECENT_USER_COUNT = 200;
    //模型的缓存过期时间 短的
    const SETTING_TABLE_CACHE_EXPIRE_SHORT = 3600;
    //永不过期使用的到期时间值
    const NEVER_EXPIRE_DATETIME = '2038-01-19 00:00:00';
    //在线时间
    const ONLINE_TIME = 'onLineTime';
    //玩家下线时间
    const USER_OFF_LINE_TIME = 'off_line_time';
    //uuid与uid分隔符
    const UUID_DS = '%';
    //fd标识
    const FD = 'fd';
    //机器人FD标识
    const ROBOT_FD = 'robot+';
    //客户端系统
    const UNKNOWN_OS = 0; //未知
    const IPHONE_OS = 1; //苹果
    const ANDROID_OS = 2; //安卓
    //机器人头像单次抓取数量
    const ROBOT_AVATAR_GRAB_COUNT = 100;
    //支付相关
    const PAY_MOCK = 0;
    const PAY_APPLE = self::IPHONE_OS;
    const PAY_GOOGLE = self::ANDROID_OS;
    //新用户过期秒数
    const NEW_USER_TIME = 86400;
    //游戏进度保存到数据库的倒计时秒数，从第一次上报开始算起
    const SAVE_PROGRESS_TIME = 1800;
    //公会积分计算倒计时秒数
    const COUNT_TEAM_SCORE = 10;
    //公会头像合法数字最大值
    const TEAM_LOGO_MAX_ID = 150;



    /**
     * 用户签到配置
     */
    const CHECKIN_BONUS_TODAY = 1800; //用户当日签到奖励
    const CHECKIN_BONUS_TOTAL_DAYS = 1801; //用户总天数签到达到里程碑奖励
    const CHECKIN_DEFAULT_BONUS = [ //如果没有配置奖品，默认送的奖品信息
        "itemId" => 30001, //物品ID
        "itemNum" => 100,
        "isDouble" => 0, //是否双倍
        "vipDouble" => 9999, //VIP双倍需要等级
        "displayId" => 4030001, //缺省的客户端显示配置ID
    ];

    /**
     * 用户转盘配置
     */
    const TURNTABLE_ROUND_ITEMS = 7;  //每轮转盘的物品种类
    const TURNTABLE_ROUNDPOOL_SIZE = 100; //一次初始化多少轮次

    /**
     * 特权
     */
    const PRIVILEGE_VIP = 'vip';
    const PRIVILEGE_PET = 'pet';

    /**
     * 系统配置命名空间
     */
    const SETTING_NS_APP = 'app';
    const SETTING_NS_SERVER = 'server';
    const SETTING_NS_SHARE = 'share';


    const SETTING_NS_USER = 'user';
    const SETTING_NS_SOCIAL = 'social';
    const SETTING_NS_SYSTEM = 'system';

}
